目標 🎯
- 任務: 找出從來源伺服器 `S` 到所有其他伺服器的最佳路徑。
- 輸出內容: 對於每台伺服器 `i`,你必須計算:
- 總延遲: 從 `S` 到 `i` 的最小成本(最短路徑)。
- 下一跳: 此最短路徑上的第一台伺服器。
- 範例: 若從 `S` 到 `D` 的最佳路徑為 `S -> A -> B -> D`,則 **下一跳** 為 `A`。
網路結構 💾
我們將使用
鄰接串列 來儲存網路結構。
- 伺服器是 節點。
- 連接為 雙向邊。
- 延遲為 正權重。
// 連結:0-1 (10毫秒),0-2 (3毫秒)
adj = [
0:[(1, 10), (2, 3)],
1:[(0, 10)],
2:[(0, 3)],
...
]
adj = [
0:[(1, 10), (2, 3)],
1:[(0, 10)],
2:[(0, 3)],
...
]
輸出格式 ⚙️
你必須輸出 `V` 行,每一行 `i` 對應伺服器 `i`。
[延遲] [下一跳]針對可達的節點。
0 -1若該節點即為來源 `S` 本身。
-1 -1若該節點無法從 `S` 到達。